#include <../lib/igloo/igloo.h>
#include "../../HashExtensible/RegistroCubeta.h"

using namespace igloo;
using namespace Hash;

Context(RegistroCubetaTest) {
	RegistroCubeta* registroCubeta;

	void SetUp() {
		registroCubeta = new RegistroCubeta("091011Presidente", 35 );
	}

	void TearDown() {
		delete registroCubeta;
	}

	Spec(insertar) {
		registroCubeta->insertar(67);
		Assert::That(registroCubeta->getBytesOcupados(), Is().EqualTo(32));
	}

	Spec(insertarDuplicado) {
		registroCubeta->insertar(35);
		Assert::That(registroCubeta->getBytesOcupados(), Is().EqualTo(28));
	}

	Spec(eliminar) {
			registroCubeta->eliminar(35);
			Assert::That(registroCubeta->getBytesOcupados(), Is().EqualTo(24));
	}

	Spec(eliminarInexistente) {
				registroCubeta->eliminar(20);
				Assert::That(registroCubeta->getBytesOcupados(), Is().EqualTo(28));
	}

	Spec(buscar) {
		int buscado = registroCubeta->buscar(35);
		Assert::That(buscado, Is().EqualTo(0));
	}

	Spec(buscarInexistente) {
			int buscado = registroCubeta->buscar(42);
			Assert::That(buscado, Is().EqualTo(-1));
	}
};
